home *** CD-ROM | disk | FTP | other *** search
/ Univers Mac Interactif 42 / Univers Mac Interactif - Issue 42.iso / Internet / MacHTTP 2.0 / MacHTTP Software & Docs / Tutorials / Extending MacHTTP Scripts / Script2.txt < prev    next >
Text File  |  1994-12-11  |  4KB  |  85 lines

  1. -- set these properties outside of the event.  That way they will only be set 
  2. -- once each time the app is run, not once for each event.
  3. property crlf : (ASCII character 13) & (ASCII character 10)
  4. -- This is a standard header for HTML files.
  5. property http_10_header : "HTTP/1.0 200 OK" & crlf & "Server: MacHTTP" & crlf & ¬
  6.     "MIME-Version: 1.0" & crlf & "Content-type: text/html" & crlf & crlf
  7. -- Idletime is how long you want it to remain open to 
  8. -- wait for another event. Idletime is in seconds.
  9. -- Datestamp will contain the current date.  Initialize it here.
  10. property idletime : 300 -- set to 5 minutes
  11. property datestamp : 0
  12.  
  13. -- this bit of code outside the sdoc event is executed at launch-time
  14. -- it is neccesary because an idle event can happen between
  15. -- launch and the receipt of an sdoc event (and in fact often does)
  16. set datestamp to current date
  17.  
  18. -- This is the loop for AppleEvents received by the application.
  19. -- When you check the syntax, AppleScript will ask you to locate 
  20. -- MacHTTP and will set the correct name at that time.
  21. on «event WWWΩsdoc» path_args ¬
  22.     given «class kfor»:http_search_args, «class post»:post_args, «class meth»:method, ¬
  23.     «class addr»:client_address, «class user»:username, «class pass»:password, «class frmu»:from_user, ¬
  24.     «class svnm»:server_name, «class svpt»:server_port, «class scnm»:script_name, «class ctyp»:content_type
  25.     -- Variables available for use:
  26.     -- http_search_args - stuff in the URL after a ?
  27.     -- post_args - stuff in the URL after a $
  28.     -- method - GET, POST, etc. Used to tell if post_args are valid
  29.     -- client_address - IP address or domain name of remote client's host
  30.     -- from_user - non-standard. e-mail address of remote user
  31.     -- username - authenticated user name
  32.     -- password - authenticated password
  33.     -- server_name - name or IP address of this server
  34.     -- server_port - TCP/IP port number being used by this server
  35.     -- script_name - URL name of this script
  36.     -- content_type - MIME content type of post_args
  37.     
  38.     -- save the current date and time to check later for quitting
  39.     set datestamp to current date
  40.     
  41.     -- Return each parameter so you can see what the unprocessed
  42.     -- information looks like.
  43.     set return_page to http_10_header ¬
  44.         & "<HTML><HEAD><TITLE>Unprocessed Results</TITLE></HEAD>" ¬
  45.         & "<BODY><H1>Unprocessed Results</H1>" & return ¬
  46.         & "<H4>http_search_args</H4>" & return & http_search_args
  47.     set return_page to return_page & return ¬
  48.         & "<H4>post_args</H4>" & return & post_args & return ¬
  49.         & "<H4>method</H4>" & return & method & return ¬
  50.         & "<H4>client_address</H4>" & return & client_address & return
  51.     set return_page to return_page & return ¬
  52.         & "<H4>from_user</H4>" & return & from_user & return ¬
  53.         & "<H4>server_name</H4>" & return & server_name & return ¬
  54.         & "<H4>server_port</H4>" & return & server_port & return
  55.     set return_page to return_page & return ¬
  56.         & "<H4>script_name</H4>" & return & script_name & return ¬
  57.         & "<H4>content_type</H4>" & return & content_type & return ¬
  58.         & "<H4>username</H4>" & return & username & return ¬
  59.         & "<H4>password</H4>" & return
  60.     set return_page to return_page ¬
  61.         & "<HR><I>Results generated at: " & (current date) ¬
  62.         & "</I>" & "</BODY></HTML>"
  63.     return return_page
  64.     
  65. end «event WWWΩsdoc»
  66.  
  67. -- The idle function is run everytime the system sends an idle message.
  68. -- If the current date is more than idletime seconds more than the last date 
  69. -- then it is time to quit.
  70. -- The return value tells the system how long to wait before
  71. on idle
  72.     if (current date) > (datestamp + idletime) then
  73.         quit
  74.     end if
  75.     return 5
  76. end idle
  77.  
  78. -- This code allows you to do any clean-up that might be necessary.
  79. -- Example: you could write the quit event time to a log to see 
  80. -- how often the applet is running.
  81. on quit
  82.     -- do any clean-up chores here
  83.     continue quit
  84. end quit
  85.